import * as api from "@/api/permission"
//把recursion函数递归创建用户路由的方法引入
import recursionRoutes from "@/router/recursionRoutes"
//引入需要校验的路由
import allRoutes from "@/router/GenerateRoute"
// 引入路由
import router from "@/utils/routerGuard"
// 引入动态路由
import dynamicRoutes from "@/router/dynamicRoutes"
let routes=allRoutes.find(item=>item.name==="home")

export default{
  namespaced: true,
  state: {
    userMenu:[],
    crumb:[]
  },
  getters: {},
  mutations: {
    //设置用户菜单
    SET_USER_MENU(state,payload){
        state.userMenu=[...payload]
        // 动态添加路由，使用router.addRoue这个方法
        dynamicRoutes.children=[...dynamicRoutes.children,...payload]
        router.addRoute(dynamicRoutes)
    },
    //设置面包屑 
    SET_CRUMB(state,payload){
      state.crumb=payload
    }

  },
  actions: {
    // 获取远程菜单
    FETCH_MENU_LIST({commit}){
        return api.getMenuListApi()
                .then(res=>{
                    // console.log(res.data.menuList)
                    let userMenu=recursionRoutes(res.data.menuList,routes.children)
                    commit("SET_USER_MENU",userMenu)
                })
    }
  },
  modules: {},
}